//
//  Copyright 2012 Alin Dobra and Christopher Jermaine
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
#ifndef _KILLER_H_
#define _KILLER_H_

#include "EventProcessor.h"
#include "EventProcessorImp.h"
#include "MessageMacros.h"


/** the class adds numbers received from generators When die message is received
    it prints the result
*/

class KillerImp : public EventProcessorImp {
 public:
  KillerImp(void);
	virtual ~KillerImp() {}

  // message handling funciton for the numbers
  MESSAGE_HANDLER_DECLARATION(KillAll);
};

/////////////
// Interface class
class Killer : public EventProcessor {
 public:
  Killer(void);
	virtual ~Killer() {}
};

inline Killer::Killer(void){
  evProc = new KillerImp();
}

#endif // _KILLER_H_
